package com.rlovep.mail;
import java.io.File;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
/**
*
* @ClassName: SendWithImg
* @Description: 带图片的资源
* @author peace w_peace@163.com
* @date 21 Nov 2015 8:48:13 pm
*
*/
public class SendWithImg {
public static void main(String[] args) {
//邮件参数
Properties prop=new Properties();
prop.put("mail.transport.protocol", "smtp"); // 指定协议
prop.put("mail.smtp.host", "smtp.qq.com"); // 主机 stmp.qq.com
prop.put("mail.smtp.port", 25); // 端口
prop.put("mail.smtp.auth", "true"); // 用户密码认证
prop.put("mail.debug", "true"); // 调试模式
//设置密码和账户,和发送人必须一致;
Authenticator authenticator=new EmailAuthenticator("374126165@qq.com","wang126165");
//1.创建一个邮件会话
Session session=Session.getDefaultInstance(prop,authenticator);
//2.创建邮件体对象
MimeMessage message=new MimeMessage(session);
//3.设置参数:标题,发件人,收件人,时间,内容
try {
//3.1标题
message.setSubject("带图片邮件","utf-8");
//3.2发送时间
message.setSentDate(new Date());
//3.3发件人
message.setFrom(new InternetAddress("374126165@qq.com"));
//3.4接收人
message.setRecipient(Message.RecipientType.TO, new InternetAddress("491629346@qq.com"));
/***************设置邮件内容: 多功能用户邮件 (related)*******************/
//4.1构建一个多功能邮件快
MimeMultipart related = new MimeMultipart("related");
// 4.2 构建多功能邮件块内容 = 左侧文本 + 右侧图片资源
MimeBodyPart content = new MimeBodyPart();
MimeBodyPart resource = new MimeBodyPart();
//设置具体内容
//图片路径
String filePath=SendWithImg.class.getResource("1.png").getPath();
DataSource ds= new FileDataSource(new File(filePath));
DataHandler handler=new DataHandler(ds);
resource.setDataHandler(handler);
resource.setContentID("mark");//设置资源名称,给外键引用
//设置具体文本
content.setContent("<img src='cid:mark'/> 我的公司Ptool", "text/html;charset=UTF-8");
//将内容加入
related.addBodyPart(content);
related.addBodyPart(resource);
//把复杂快添加到邮件中
message.setContent(related);
//发送
Transport.send(message);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}